### UP
[open](##open)
[MAIN](##MAIN)
[MAIN_ru](##MAIN_ru)
[ANCORS](##ANCORS)
[ISU](##ISU)
[inet](##A_inet)
[inet](##books_inet)
[inet](##examples_inet)
[inet](##classic_inet)
[inet](##enters_inet)
[inet](##issue_code_inet)
[H_FILE](##H_FILE)
[p_SYNOPSIS](##p_SYNOPSIS)
[p_RETURN](##p_RETURN)
[p_RETURN_ru](##p_RETURN_ru)
[p_BUGS](##p_BUGS)
[p_DESCRIPTION_ru](##p_DESCRIPTION_ru)
[p_DESCRIPTION](##p_DESCRIPTION)
[p_MIRRORS](##p_MIRRORS)
[p_EXAMPLES](##p_EXAMPLES)
[p_CODE_h](##p_CODE_h)
[p_CODE_c](##p_CODE_c)
[p_CODE_m](##p_CODE_m)
[p_ERRORS](##p_ERRORS)
[p_BOOKS](##p_BOOKS)
[p_BOOKS_ru](##p_BOOKS_ru)
[p_CONTENT](##p_CONTENT)

[cat_hfiles](../../cat_hfiles.md)
[cat_utils](../../cat_utils.md)
[cat_structs](../../cat_structs.md)
[cat_param](../../cat_params.md)
[cat_macros](../../cat_macross.md)
[cat_const](../../cat_consts.md)
[cat_type](../../cat_types.md)
[cat_any](../cat_anys.md)


[UP](###UP)
## MAIN
:open:
[next](##MAIN_ru)

<<MAIN>>
[MAIN](../../fills/open/MAIN)



[UP](###UP)
## MAIN_ru
:open:
[next](##ANCORS)

<<MAIN_ru>>
[MAIN_ru](../../fills/open/MAIN_ru)

[UP](###UP)
## ANCORS
:open:
[next](##ISU)

----------------------------------------------------- 
-------------------------------------- 
https://ru.manpages.org/open/2
https://www.delftstack.com/howto/c/open-vs-fopen-in-c/
https://pubs.opengroup.org/onlinepubs/007904875/functions/open.html
https://www.geeksforgeeks.org/input-output-system-calls-c-create-open-close-read-write/
-------------------------------------- 
----------------------------------------------------- 
<<ANCORS>>
[ANCORS](../../fills/open/ANCORS)

[UP](###UP)
## ISU
:open:
[next](##H_FILE)

----------------------------------------------------- 
-------------------------------------- 
file:///home/st/start/communis/Deploy_store/.qa/main_repo_fn/dir_c_/_c_/_man/nbase/_Head_sis_libs_posix/6_fcntl_h/3_open/suc_cpjs/open_c.isu
-------------------------------------- 
----------------------------------------------------- 
<<ISU>>
only read
:open:
[ISU](../../contents)
[next](##inet)


[UP](###UP)
## inet
:open:
[next](##H_FILE)


[UP](###UP)
## A_inet
[manpages.org](https://www.google.ru/search?q=open+site%3Ahttps%3A%2F%2Fmanpages.org)
[reposcope.com_ru](https://www.google.ru/search?q=open+site%3Ahttps%3A%2F%2Freposcope.com%2Fmanpages%2Fru)
[pubs.opengroup.org](https://www.google.com/search?q=open+https%3A%2F%2Fpubs.opengroup.org)
[manpages.debian.org](https://yandex.ru/search/?text=open+site%3Ahttps%3A%2F%2Fmanpages.debian.org%2F)
[www.opennet.ru](http://www.opennet.ru/man.shtml?category=2&topic=open)
[man7.org](https://www.google.ru/search?q=open+site%3Ahttps%3A%2F%2Fman7.org%2Flinux%2Fman-pages)
[en.cppreference.com](https://www.google.com/search?q=open+en.cppreference.com)
[www.mankier.com](https://www.mankier.com/?q=open)
[www.codecogs.com](https://www.google.ru/search?q=open+https%3A%2F%2Fwww.codecogs.com%2Flibrary%2Fcomputing%2F)
[digitalmars.com](https://www.google.ru/search?q=open+https%3A%2F%2Fdigitalmars.com%2Frtl%2F)


[UP](###UP)
## books_inet
[cpp.com.ru](https://yandex.ru/search/?text=open+site%3Ahttps%3A%2F%2Fcpp.com.ru)
[linuxhint.com](https://www.google.ru/search?q=open+site%3Ahttps%3A%2F%2Flinuxhint.com)
[gnu.org](https://www.google.ru/search?q=open+site%3Ahttps%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibc%2Fmanual)

[UP](###UP)
## examples_inet
[yandex:examples](https://yandex.ru/search/?text=open+example+in+c)
[docs.oracle.com](https://www.google.com/search?q=open+https%3A%2F%2Fdocs.oracle.com)
[manpages.debian.org](https://yandex.ru/search/?text=open+site%3Ahttps%3A%2F%2Fmanpages.debian.org%2F)
[osr507doc.xinuos.com](https://www.google.com/search?q=open+http%3A%2F%2Fosr507doc.xinuos.com%2Fen%2Fman)
[cpp.hotexamples.com](https://cpp.hotexamples.com/examples/-/-/open/cpp-open-function-examples.html)
[all-ht.ru](https://yandex.ru/search/?text=open+site%3Ahttp%3A%2F%2Fall-ht.ru%2Finf%2Fprog%2Fc%2F)
[cppreference.com](https://yandex.ru/search/?text=open+site%3Ahttps%3A%2F%2Fen.cppreference.com%2Fw%2Fc%2F)

[UP](###UP)
## classic_inet
[bogatyrev_c_unix](https://www.google.com/search?q=open+site%3Ahttps%3A%2F%2Fcpp.com.ru%2Fbogatyrev_c_unix)
[kr_cbook](https://www.google.com/search?q=open+site%3Ahttps%3A%2F%2Fcpp.com.ru%2Fkr_cbook)

[UP](###UP)
## enters_inet
[pubs.opengroup.org](https://pubs.opengroup.org/onlinepubs/9699919799/idx/head.html)

[UP](###UP)
## issue_code_inet
[code.woboq.org](https://www.google.com/search?h=&sitesearch=https%3A%2F%2Fcode.woboq.org%2Fuserspace%2Fglibc%2F&q=open)


[UP](###UP)
## H_FILE 
[fcntl_h.md](../../hfiles/fcntl_h.md)


[UP](###UP)
## p_SYNOPSIS
:open:
[next](##p_RETURN_ru)

----------------------------------------------------- 
-------------------------------------- 
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);
int openat(int dirfd, const char *pathname, int flags);
int openat(int dirfd, const char *pathname, int flags, mode_t mode);
-------------------------------------- 
----------------------------------------------------- 
<<SYNOPSIS>>
[SYNOPSIS](../../fills/open/SYNOPSIS)


[UP](###UP)
## p_RETURN_ru
:open:
[next](##p_RETURN)

<<RETURN>>
[RETURN_ru](../../fills/open/RETURN)


[UP](###UP)
## p_RETURN
:open:
[next](##p_DESCRIPTION_ru)

<<RETURN_ru>>
[RETURN](../../fills/open/RETURN_ru)


[UP](###UP)
## p_DESCRIPTION_ru
:open:
[next](##p_DESCRIPTION)

----------------------------------------------------- 
-------------------------------------- 
Получив в pathname имя файла, open() возвращает файловый дескриптор --- небольшое, неотрицательное значение --- для использования в последующих системных вызовах (read(2), write(2), lseek(2), fcntl(2) и т.д.). Файловый дескриптор, возвращаемый при успешном выполнении вызова, будет самым маленьким числом из файловых дескрипторов, которые ещё не открыты процессом.
По умолчанию, новый файловый дескриптор остаётся открытым при вызове execve(2) (т. е., флаг FD_CLOEXEC файлового дескриптора, описанный в fcntl(2), изначально сброшен; для изменения поведения по умолчанию можно использовать флаг O_CLOEXEC, он описан далее). Файловое смещение устанавливается на начало файла (см. lseek(2)).
Вызов open() создаёт новое открытое файловое описание — запись в системной таблице открытых файлов. В этой записи хранится смещение и флаги состояния файла (смотрите ниже). Файловый дескриптор — это ссылка на открытое файловое описание; с этой ссылкой ничего не происходит при последующем удалении pathname или переуказании имени на другой файл. Дополнительную информацию об открытых файловых описаниях смотрите в разделе ЗАМЕЧАНИЯ.
Параметр flags должен содержать один из следующих режимов доступа: O_RDONLY (только для чтения), O_WRONLY (только для записи) или O_RDWR (для чтения и записи).
Также в flags можно указывать флаги создания и состояния файла, объединяя их битовой операцией ИЛИ. Флаги создания файла: O_CLOEXEC, O_CREAT, O_DIRECTORY, O_EXCL, O_NOCTTY, O_NOFOLLOW, O_TMPFILE и O_TRUNC. Флаги состояния файла — все оставшиеся, перечислены ниже. Различие между двумя этими группами в том, что флаги состояния можно запросить и (в некоторых случаях) изменить; смотрите fcntl(2).
-------------------------------------- 
----------------------------------------------------- 
<<DESCRIPTION_ru>>
[DESCRIPTION_ru](../../fills/open/DESCRIPTION_ru)


[UP](###UP)
## p_DESCRIPTION
:open:
[next](##p_BUGS)

<<DESCRIPTION>>
[DESCRIPTION](../../fills/open/DESCRIPTION)


[UP](###UP)
## p_MIRRORS
:open:
[next](##p_BUGS)

<<MIRRORS>>
[MIRRORS](../../fills/open/MIRRORS)


[UP](###UP)
## p_BUGS
:open:
[next](##p_EXAMPLES)

<<BUGS>>
[BUGS](../../fills/open/BUGS)


[UP](###UP)
## p_EXAMPLES
:open:
[next](##p_CODE)

<<EXAMPLES>>
[EXAMPLES](../../fills/open/EXAMPLES)


[UP](###UP)
## p_CODE_h
:open:
[next](##p_CODE_c)

<<CODE_h>>
[CODE_h](../../fills/open/CODE_h)


[UP](###UP)
## p_CODE_c
:open:
[next](##p_CODE_m)

----------------------------------------------------- 
-------------------------------------- 
https://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/open.c.html
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdarg.h>
#include <sysdep-cancel.h>
#ifndef __OFF_T_MATCHES_OFF64_T
/* Open FILE with access OFLAG.  If O_CREAT or O_TMPFILE is in OFLAG,
a third argument is the file protection.  */
int
__libc_open (const char *file, int oflag, ...)
{
int mode = 0;
if (__OPEN_NEEDS_MODE (oflag))
{
va_list arg;
va_start (arg, oflag);
mode = va_arg (arg, int);
va_end (arg);
}
return SYSCALL_CANCEL (openat, AT_FDCWD, file, oflag, mode);
}
libc_hidden_def (__libc_open)
weak_alias (__libc_open, __open)
libc_hidden_weak (__open)
weak_alias (__libc_open, open)
#endif
-------------------------------------- 
----------------------------------------------------- 
<<CODE_c>>
[CODE_c](../../fills/open/CODE_c)


[UP](###UP)
## p_CODE_m
:open:
[next](##p_ERRORS)

<<CODE_m>>
[CODE_m](../../fills/open/CODE_m)


[UP](###UP)
## p_ERRORS
:open:
[next](##p_BOOKS)

<<ERRORS>>
[ERRORS](../../fills/open/ERRORS)


[UP](###UP)
## p_BOOKS
:open:
[next](##p_BOOKS_ru)

<<BOOKS>>
[BOOKS](../../fills/open/BOOKS)


[UP](###UP)
## p_BOOKS_ru
:open:
[next](##p_CONTENT)


<<BOOKS_ru>>
[BOOKS_ru](../../fills/open/BOOKS_ru)


[UP](###UP)
## p_CONTENT
:33333:
[33333.cnt](../../contents/33333.cnt)
[next](##UP)

[UP](###UP)